Simplifying Software Development and Increasing Software Productivity on High End Computers
نویسنده
چکیده
The complexity of modern scientific software is an important issue that needs to be addressed as part of an effort to revitalize high end computing (HEC). The complexity arises from both the scientific demands and the increasingly complex computers on which the software is run. We believe that HEC software developers need to be able to use a higher level of abstraction to express their computational problems. New programming models and technologies such as domain-specific languages coupled with automatic code generation, source-to-source translation tools, and component models are all sufficiently advanced that a concerted investment aimed at bringing them to HEC computational scientists will bring significant near-term payoffs.
منابع مشابه
Cyberenvironments and Cyberinfrastructure: Powering Cyber-research in the 21st Century
Cyberinfrastructure (CI) is a broad term for the combination of high-performance computers, large-scale data storage, high speed networks, high-throughput instruments and sensor networks, and associated software that, as a ubiquitous, persistent infrastructure, is having, and will continue to have, a direct impact on scientific and engineering productivity. The potential for CI to allow individ...
متن کاملFactors Influencing Software Development Productivity - State-of-the-Art and Industrial Experiences
Managing software development productivity is a key issue in software organizations. Business demands for shorter time-to-market while maintaining high product quality force software organizations to look for new strategies to increase development productivity. Traditional, simple delivery rates employed to control hardware production processes have turned out not to work when simply transferre...
متن کاملAdequate Testing of Component-Based Software
People have long advocated a component-based approach to software construction as a way of simplifying the design and maintenance of large software systems, increasing the opportunities for reuse, and increasing software development productivity. Although the technology for constructing component-based software is relatively advanced, we lack a sufficient theoretical basis for testing component...
متن کاملUnderstanding HPC Development through Automated Process and Product Measurement with Hackystat
The high performance computing (HPC) community is increasingly aware that traditional low-level, execution-time measures for assessing high-end computers, such as flops/second, are not adequate for understanding the actual productivity of such systems. In response, researchers and practitioners are exploring new measures and assessment procedures that take a more wholistic approach to high perf...
متن کاملShifting the Parallel Programming Paradigm
Multicore computer architectures are now the standard for desktop computers, high-end servers and personal laptops. Due to the multicore shift in computer architecture, software engineers must write multithreaded programs to harness the resources of these parallel machines. Unfortunately, today’s parallel programming techniques are difficult to reason about, highly error-prone and challenging t...
متن کامل